package org.jeecg.modules.pos.service;

import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.pos.entity.PosBookingOrder;
import org.jeecg.modules.pos.entity.PosOrderGoods;
import org.jeecg.modules.pos.vo.PosBooingOrderGoods;

import java.util.List;

/**
 * @Description: pos_order_goods
 * @Author: jeecg-boot
 * @Date:   2023-04-13
 * @Version: V1.0
 */
public interface IPosOrderGoodsService extends IService<PosOrderGoods> {

    PosOrderGoods getOrderByTableId(String tableId);

    PosOrderGoods getOrderTeamByTableId(String tableId);

    Boolean addRoomFee(PosOrderGoods posOrderGoods,String hotelId);

    PosOrderGoods addOrder(PosOrderGoods posOrderGoods);

    Boolean addBookingOrder(PosBookingOrder bookingOrder);

    Boolean editBookingOrder(PosBookingOrder bookingOrder);

    PosBookingOrder getBookingOrderById(String bookingCode);

    List<PosBookingOrder> getBookingByTableId(String tableId);

    Boolean addOrderByBookingId(String bookingCode);

    Boolean cancelBooking(PosBookingOrder bookingOrder);

    Boolean mergePosOrder(String hotelId, String mainPosOrderId, List<String> posOrderIds);

    Boolean returnMergePosOrder(String posOrderId);

    Boolean changeTable(String posOrderId, String tableId);

    Boolean transferDishes(String posOrderId, List<String> orderGoodsDetailIds);

    Page<PosBooingOrderGoods> getBookingOrderPage(PosBookingOrder bookingOrder, Page<PosBooingOrderGoods> page, DateTime startTime, DateTime endTime);
}
